perm filename PTEST.PAS[TEX,ALS] blob
sn#613093 filedate 1981-09-20 generic text, type T, neo UTF8
(*$R80,S8000,X11,T-,G+,D-,O-,Y+*)
program PRINTO;
type asciiCode = 0..127;
var fiba: integer;
fibb: integer;
fibc: integer;
fibs: integer;
k: integer;
procedure PrintOctal(n: integer);
var i: integer;
k: integer;
s: array [0..10] of asciiCode;
msb: boolean;
mbb: boolean;
begin
msb:=false;
mbb:=false;
if n<0 then begin n:=-n; msb:=true end;
for k:=10 downto 0 do
begin
i:=n mod 8;
if k=0 then
begin
if msb then
begin
if i>3 then i:=7-i else
begin
if (i mod 2)=0 then i:=3 else i:=2 end
end
else i:=(i mod 4)
end
else
begin
if msb=true then
begin
if mbb=true then i:= 7-i else
begin
if i>0 then
begin
i:=8-i;
mbb:=true; end
end
end;
end;
case i of
0: s[k]:=0;
1: s[k]:=1;
2: s[k]:=2;
3: s[k]:=3;
4: s[k]:=4;
5: s[k]:=5;
6: s[k]:=6;
7: s[k]:=7;
end;
n:= n div 8;
end;
k:=0; while (k<10) and (s[k]=0) do k:=k+1;
for k:=k to 10 do write(s[k]:1)
end;
begin
fiba:=0;
fibb:=1;
for k:=1 to 20 do
begin
fibc:=fiba+fibb;
fibs:=fibc*fibc;
writeln(' ');
write(fibs);
write(' ');
printoctal(fibs);
write(' ');
fibs:=-fibs;
printoctal(fibs);
fiba:=fibb;
fibb:=fibc;
end;
end.